.TH std::flat_multimap::replace 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::flat_multimap::replace \- std::flat_multimap::replace

.SH Synopsis
   void replace( key_container_type&& key_cont, mapped_container_type&&   (since C++23)
   mapped_cont );

   Replaces the underlying containers c. Equivalent to:

 c.keys = std::move(key_cont);
 c.values = std::move(mapped_cont);

   The following conditions must be met:

     * The expression key_cont.size() == mapped_cont.size() is true,
     * The elements of key_cont are sorted with respect to compare.

       Otherwise, the behavior is undefined.

.SH Parameters

   keys_cont   - a sorted keys container of type KeyContainer, the contents of which
                 will be moved into *this
   mapped_cont - a container of mapped values of type MappedContainer, the contents of
                 which will be moved into *this

.SH Return value

   \fI(none)\fP

.SH Complexity

   Equals to complexity of std::move applied to adapted containers.

.SH Example


// Run this code

 #include <algorithm>
 #include <cassert>
 #include <flat_map>
 #include <print>
 #include <vector>

 int main()
 {
     std::vector<int> keys{1, 2, 3};
     assert(std::ranges::is_sorted(keys));
     std::vector<double> values{2.2, 3.3, 1.1};
     assert(keys.size() == values.size());

     std::flat_multimap<int, double> map;
     assert(map.empty());

     map.replace(keys, values);
     assert(map.size() == 3);
     assert(map.keys() == 3);
     assert(map.values() == 3);
     assert(keys.empty());
     assert(values.empty());

     std::println("{}", map);
 }

.SH Output:

 {1: 2.2, 2: 3.3, 3: 1.1}

.SH See also

   extract extracts the underlying containers
           \fI(public member function)\fP
